An implementation of complete , asynchronous , distributed garbage collectionFabrice
نویسندگان
چکیده
Most existing reference-based distributed object systems include some kind of acyclic garbage collection, but fail to provide acceptable collection of cyclic garbage. Those that do provide such GC currently suuer from one or more problems: synchronous operation, the need for expensive global consensus or termination algorithms, susceptibility to communication problems, or an algorithm that does not scale. We present a simple, complete, fault-tolerant, asynchronous extension to the (acyclic) cleanup protocol of the SSP Chains system. This extension is scalable, consumes few resources, and could easily be adapted to work in other reference-based distributed object systems|rendering them usable for very large-scale applications. 1 Introduction Automatic garbage collection is an important feature for modern high-level languages. Although there is a lot of accumulated experience in local garbage collection, distributed programming still lacks eeective cyclic garbage collection. A local garbage collector should be correct and complete. A distributed garbage collector should also be asynchronous (other spaces continue to work during a local garbage collection in one space), fault-tolerant (it works even with unreliable communications and space crashes), and scalable (since networks are connecting larger numbers of computers over increasing distances). Previously published distributed garbage collection algorithms fail in one or more of these requirements. In this paper we present a distributed garbage collector for distributed languages that provides all three of these desired properties. Moreover, the algorithm is simple to implement and consumes very few resources. The algorithm described in this paper was developed as part of a reference-based distributed object system for Objective-CAML (a dialect of ML with object-oriented ex
منابع مشابه
An implementation for complete asynchronous
We expand an acyclic distributed garbage collector (the cleanup protocol of Stub-Scion Pair Chains) with a detector of distributed cycles of garbage. The whole result is as a complete and asynchronous distributed garbage collector. The detection algorithm for free distributed cycles is inspired by Hughes 5]. A local collector marks outgoing references with dates, which are propagated asynchrono...
متن کاملAn Implementation of Complete, Asynchronous, Distributed Garbage Collection
Most existing reference-based distributed object systems include some kind of acyclic garbage collection, but fail to provide acceptable collection of cyclic garbage. Those that do provide such GC currently suuer from one or more problems: synchronous operation, the need for expensive global consensus or termination algorithms, susceptibility to communication problems, or an algorithm that does...
متن کاملA First Implementation of the DMOS Garbage Collector
The DMOS, (Distributed Mature Object Space [Hudson et al. 1997]), garbage collection algorithm represents a step forward in distributed garbage collection. The algorithm possesses many properties which are desirable and/or essential for a distributed garbage collection mechanism. These properties are: safety, completeness, incremental, asynchronous, decentralization and non-disruptiveness. To a...
متن کاملEnsuring the Safety of Distributed Garbage Collection in DMOS
An orthogonally persistent system maintains data beyond any program execution. The principle of persistence identification implies that persistence by reachability be used to determine which objects are to be maintained in the store. A particular execution may cause objects to become unreachable—garbage. Any efficient implementation of a persistent system must incorporate a garbage collector to...
متن کاملModelling a Distributed Cached Store for Garbage Collection: The Algorithm and Its Correctness Proof
Caching and persistence support efficient, convenient and transparent distributed data sharing. The most natural model of persistence is persistence by reachability, managed automatically by a garbage collector (GC). We propose a very general model of such a system (based on distributed shared memory) and a scalable, asynchronous distributed GC algorithm. Within this model, we show sufficient a...
متن کامل